// import com.alibaba.druid.sql.ast.SQLExpr_ptr ;
// import com.alibaba.druid.sql.ast.SQLObjectImpl;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;
#pragma once
#include "../../../sql/ast/SQLObjectImpl.h"
#include "../../../sql/ast/statement/SQLAlterTableItem.h"

class SQLASTVisitor;

class SQLAlterCharacter :public SQLObjectImpl ,virtual public SQLAlterTableItem {
  public:
    SQLExpr_ptr characterSet;
    SQLExpr_ptr collate;

  SHAREDOBJECT(SQLAlterCharacter);
    void accept0(SQLASTVisitor_ptr visitor) ;

    SQLExpr_ptr getCharacterSet() ;

    void setCharacterSet(SQLExpr_ptr characterSet);

    SQLExpr_ptr getCollate() ;

    void setCollate(SQLExpr_ptr collate) ;
};
typedef std::shared_ptr<SQLAlterCharacter> SQLAlterCharacter_ptr;